// page/yuyue/yuyue.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    formData: {
      name: '',
      gender: 'male',
      phone:'',
      Date:"请选择来访日期",
      time:"请选择来访时间",
      visit:''
    },
    today: new Date().toISOString().split('T')[0],
    nextYearToday: "" // 明年的今天
  },

  // 表单提交
  async formSubmit(e) {
    // console.log(e);
    const formData = e.detail.value;
    // 表单验证
    if (!formData.name || !/^[\u4e00-\u9fa5]{2,4}$|^[\u4e00-\u9fa5]+·[\u4e00-\u9fa5]+$/.test(formData.name)) {
      wx.showToast({
        title: '请正常输入姓名',
        icon: 'none'
      });
      return;
    }
    if (!formData.phone || !/^1[3-9]\d{9}$/.test(formData.phone)) {
      wx.showToast({
        title: '请输入有效的手机号',
        icon: 'none'
      });
      return;
    }
    try {
      wx.showLoading({
        title: '提交中...',
      });
      // 调用云函数提交数据
      const res = await wx.cloud.callFunction({
        name: 'formData',
        data: {
          action: 'addRecord',
          formData: {
            name: formData.name,
            gender: formData.gender,
            phone: formData.phone,
            date: formData.Date,  // 注意大小写转换
            time: formData.time,
            visit: formData.visit,
          }
        },
      });
      console.log(res);
      wx.showToast({
        title: '提交成功',
        icon: 'success'
      });
      // 提交完后重置表单
      this.setData({
        formData: {
          name: '',
          gender: 'male',
          phone:'',
          Date:"请选择日期",
          time:"请选择来访时间",
          visit:''
        },
      });
    } catch (err) {
      console.error('提交失败:', err);
      wx.showToast({
        title: '提交失败',
        icon: 'none'
      });
    } finally {
      wx.hideLoading();
    }
  },

  formReset:function(){
    this.setData({
      formData: {
        name: '',
        gender: 'male',
        phone:'',
        Date:"请选择日期",
        time:"请选择来访时间",
        visit:'来访目的'
      },
    });
  },

  // 获取今天日期
  getFormattedDate(date) {
    const year = date.getFullYear();
    const month = (date.getMonth() + 1).toString().padStart(2, '0');
    const day = date.getDate().toString().padStart(2, '0');
    return `${year}-${month}-${day}`;
  },

  // 获取明年的今天日期
  getNextYearToday:function() {
    const today = new Date();
    const nextYear = new Date(
      today.getFullYear() + 1, // 年份加1
      today.getMonth(),
      today.getDate()
    );
    return this.getFormattedDate(nextYear);
  },

  // 日期选择变化
  bindDateChange: function(e) {
    this.setData({
      'formData.Date': e.detail.value
    })
  },
  bindtimeChange: function(e) {
    this.setData({
      'formData.time': e.detail.value
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.setData({
      nextYearToday:this.getNextYearToday()
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})